The present disclosure relates to technology for non-volatile storage.
One type of non-volatile storage is semiconductor memory. For example, non-volatile semiconductor memory is used in solid state drives, mobile computing devices, non-mobile computing devices and other memory systems. Typically, the memory system has a memory controller which controls data transfers between the memory system and a host system over a communication interface. The host system could be computer system, cellular telephone, server, etc.
When a host system writes data to and reads data from a memory system (also referred to as a storage device), the host writes and reads data in terms of logical addresses, such as logical block addresses (LBAs). Herein, the data the host writes or reads may be referred to as “host data.” The memory controller may translate the logical addresses to physical addresses of memory cells on the memory system. As one example, a flash memory device has a Flash Transfer Layer (FTL) or Media Management Layer (MML) that performs a logical address to physical address translation.
The memory system may have a management table that contains information to perform the logical address to physical address translation. The management table could be stored in non-volatile memory, with portions of the management table cached in volatile memory for quick access. In some cases, the management table has a hierarchical organization, with multiple levels. In order to convert from the logical address to the physical address at which the data for the logical address is stored, the memory controller might need to read more than one level of the hierarchy. Thus, it could take more than one memory access to convert the logical address to a physical address.